package com.example.forumsystem.common;

/**
 * 定义业务状态码
 */
public enum ResultCode {
    SUCCESS                         (0, "操作成功"),
    FAILED                          (1000, "操作失败"),
    FAILED_UNAUTHORIZED             (1001, "未授权"),
    FAILED_PARAMS_VALIDATE          (1002, "参数校验失败"),
    FAILED_FORBIDDEN                (1003, "禁⽌访问"),
    FAILED_CREATE                   (1004, "新增失败"),
    FAILED_NOT_EXISTS               (1005, "资源不存在"),
    FAILED_UPDATE                   (1006, "修改失败"),
    // 用户
    FAILED_USER_EXISTS              (1101, "用户已存在"),
    FAILED_USER_NOT_EXISTS          (1102, "用户不存在"),
    FAILED_LOGIN                    (1103, "用户名或密码错误"),
    FAILED_USER_BANNED              (1104, "用户状态异常,请联系管理员,并重新登录"),
    FAILED_TWO_PWD_NOT_SAME         (1105, "两次输⼊的密码不⼀致"),
    FAILED_USER_UNAUTHORIZED        (1106, "当前用户无权限"),
    FAILED_UPDATE_PASSWROD          (1107, "密码与原密码相同"),

    // 板块
    FAILED_BOARD_NOT_EXISTS         (1201, "板块不存在"),


    // 文章
    FAILED_ARTICLE_FAILED_UPDATE                    (1301,"新增文章失败"),
    FAILED_ARTICLE_NOT_EXISTS                           (1302, "文章已被删除"),
    FAILED_ARTICLE_UPDATE                            (1303, "修改文章失败"),
    FAILED_PARAMS_VALIDATE_FAILED_UPDATE             (1304, "文章参数校验失败"),
    FAILED_ARTICLE_BANNED                            (1305, "文章状态异常,请联系管理员"),
    FAILED_ARTICLE_THUMBDUP                         (1306, "修改文章失败"),
    FAILED_ARTICLE_DELETE                           (1307, "修改文章失败"),
    // 站内信
    FAILED_MESSAGE_NOT_EXISTS                        (1401, "站内信不存在"),


    ERROR_SERVICES                  (2000, "服务器内部错误"),
    ERROR_IS_NULL                   (20001, "ISNULL.");
    // 定义状态码
    int code;
    String massage;

    @Override
    public String toString() {
        return "code=" + code + ", massage=" + massage + ".";
    }

    ResultCode(int code, String massage) {
        this.code = code;
        this.massage = massage;
    }

    public int getCode() {
        return code;
    }

    public void setCode(int code) {
        this.code = code;
    }

    public String getMassage() {
        return massage;
    }

    public void setMassage(String massage) {
        this.massage = massage;
    }
}
